const xlsx = require("node-xlsx");
const path = require("path");
const uuid = require("uuid");
const user = require("../../database/user");
const md5 = require("md5");

module.exports = async (req,res,next)=>{
  // 接收上传的文件信息
  const file = req.files[0];
  // 根据上传的文件信息，找到指定的xlsx文件，并解析成数据
  const data = xlsx.parse( path.join(__dirname, "..", "..", file.path) )[0].data;
  
  const dbArr = [];
  // 遍历从xlsx文件中解析出的数据，处理成数据库能接收的格式
  for(let i=1;i<data.length;i++){
    // 判断用户名或手机号是否重复，如果重复，单独记录下来，导入完成后给出提示，xxx重复
    // 不重复，再push
    dbArr.push({
      userId: "user-" + uuid.v1(),
      username: data[i][0],
      password: md5(data[i][1] + ""),
      nickname: data[i][2],
      name: data[i][3],
      tel: data[i][4]+"",
      age: data[i][5]-0,
      sex: data[i][6],
      power: data[i][7]-0,
      job: data[i][8],
      teamId: data[i][9],
      regTime: Date.now()
    })
  }
  try {
    // 插入到数据库
    await user.insertMany(dbArr);
    res.send( {
      code:1,
      msg:"导入成功"
    } );
  } catch (error) {
    res.send( {
      code:0,
      msg:"导入失败"
    } );
  }
}
